package com.szq.middleware.db.router.dynamic;

import com.szq.middleware.db.router.DBContextHolder;
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;

public class DynamicDataSource extends AbstractRoutingDataSource {
    /**
     * 这里的动态数据源需要继承AbstractRoutingDataSource实现determineCurrentLookupKey方法
     * 在这个方法中使用DBContextHolder.getDBKey(),获取路由设置到ThreadLocal的结果
     * @return
     */
    @Override
    protected Object determineCurrentLookupKey() {
        return "db"+ DBContextHolder.getDBKey();
    }
}
